/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package sisgraf.model;
import java.io.Serializable;
import java.math.BigDecimal;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;

/**
 *
 * @author Jordan Guerra
 */
@Entity
public class Material implements Serializable {
    private static final long serialVersionUID = 1L;
    @Id
    @GeneratedValue
    private Integer id;
    private Integer codigo;
    private String descricao;
    private BigDecimal custo;
    private String tipo;
    private Integer largura;
    private Integer comprimento;
    private Integer gramatura;
    private Integer rendimento;
    private String ativo;
    @JoinColumn(name = "id_cor", referencedColumnName = "id",nullable = true)
    @ManyToOne(optional=true)
    private Cor cor;
    @JoinColumn(name = "id_unidade", referencedColumnName = "id")
    @ManyToOne
    private Unidade unidade;
    public Material() {
        this.id=null;
        this.descricao=null;
        this.custo=null;
        this.tipo="";
        this.largura=null;
        this.comprimento=null;
        this.gramatura=null;
        this.rendimento=null;
        this.ativo ="S";
        this.cor = new Cor();
        this.unidade=new Unidade();
    }

    public Material(Integer id) {
        this.id = id;
    }

    public Material(Integer id, String descricao, BigDecimal custo, String tipo) {
        this.id = id;
        this.descricao = descricao;
        this.custo = custo;
        this.tipo = tipo;
    }

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public Integer getCodigo() {
        return codigo;
    }

    public void setCodigo(Integer codigo) {
        this.codigo = codigo;
    }

    public String getDescricao() {
        return descricao;
    }

    public void setDescricao(String descricao) {
        this.descricao = descricao;
    }

    public BigDecimal getCusto() {
        return custo;
    }

    public void setCusto(BigDecimal custo) {
        this.custo = custo;
    }

    public String getTipo() {
        return tipo;
    }

    public void setTipo(String tipo) {
        this.tipo = tipo;
    }

    public Integer getLargura() {
        return largura;
    }

    public void setLargura(Integer largura) {
        this.largura = largura;
    }

    public Integer getComprimento() {
        return comprimento;
    }

    public void setComprimento(Integer comprimento) {
        this.comprimento = comprimento;
    }

    public Integer getGramatura() {
        return gramatura;
    }

    public void setGramatura(Integer gramatura) {
        this.gramatura = gramatura;
    }

    public Integer getRendimento() {
        return rendimento;
    }
    public void setRendimento(Integer rendimento) {
        this.rendimento = rendimento;
    }

    public String getAtivo() {
        return ativo;
    }

    public String getAtivoDes() {
        if (ativo.equals("S"))
           return "Sim";
        else if (ativo.equals("N"))
           return "Não";
        else
           return ativo;
    }
    public void setAtivo(String ativo) {
        this.ativo = ativo;
    }
    public Cor getCor() {
        return cor;
    }

    public void setCor(Cor cor) {
        this.cor = cor;
    }

    public Unidade getUnidade() {
        return unidade;
    }

    public void setUnidade(Unidade unidade) {
        this.unidade = unidade;
    }

}
